package com.zlm.user.partner.dao;

import com.zlm.common.base.BaseDao;
import com.zlm.common.dto.HxUserDto;
import com.zlm.common.dto.userPartner.SysPartnerDto;
import com.zlm.common.entity.SysPartnerDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @Author: duyufu
 * @Date: 2019/7/10 11:24
 */
@Repository
public interface SysPartnerDao extends BaseDao<SysPartnerDO> {

    /**
     * 是否存在当前合伙人
     * @param mobile
     * @return
     */
    int isExistPart(@Param("mobile") String mobile);

    /**
     * 查询合伙人列表
     * @param map
     * @return
     */
    List<SysPartnerDto> queryPartner(Map<String, Object> map);

    /**
     * 保存合伙人
     * @param user
     */
    Integer insertPartner(SysPartnerDO user);

    /**
     * 查询合伙人
     * @param mobile
     * @param password
     * @return
     */
    SysPartnerDto queryPartByMobileAndPassword(@Param("mobile") String mobile,@Param("password") String password);

    /**
     * 修改密码
     * @param map
     * @return
     */
    Integer updatePassword(Map<String, Object> map);

    /**
     * 查询合伙人密码
     * @param partId
     * @return
     */
    String queryPartnerPassword(@Param("partId") Integer partId);

    /**
     * 修改密码
     * @param partId
     * @param password
     */
    void updatePasswordByPartId(@Param("partId") Integer partId,@Param("password") String password);

    /**
     * 修改合伙人信息
     * @param sysPartner
     */
    void updateSysPart(SysPartnerDO sysPartner);

    /**
     * 更新环信密码
     * @param partId
     * @param hxID
     * @param hxPassword
     */
    void updateHxPasswordByPartId(@Param("partId") Integer partId,
                                  @Param("hxID") String hxID, @Param("hxPassword") String hxPassword);

    /**
     * 获取合伙人
     * @param partId
     * @return
     */
    SysPartnerDto queryPartnerById(@Param("partId") Integer partId);

    /**
     * 根据环信Id查询用户
     * @param hxId
     * @return
     */
    HxUserDto queryHxUser(@Param("hxId") String hxId);

    /**
     * 搜索好友
     * @param keyword
     * @return
     */
    List<HxUserDto> searchFriend(@Param("keyword") String keyword);
}
